import request from '@/utils/request'

//查询文章列表
export const queryPageApi = (title, authorId, gameId, state, begin, end, pageNum, pageSize) => request.get(`/admin/strategy/page?title=${title || ''}&authorId=${authorId || ''}&gameId=${gameId || ''}&state=${state || ''}&begin=${begin || ''}&end=${end || ''}&pageNum=${pageNum}&pageSize=${pageSize}`)

//添加文章
export const addStrategyApi = (data) => request.post('/admin/strategy', data)

//根据ID查询文章信息
export const queryInfoApi = (id) => request.get(`/admin/strategy/${id}`)

//修改文章信息
export const updateStrategyApi = (data) => request.put('/admin/strategy', data)

//删除文章
export const deleteStrategyApi = (ids) => request.delete(`/admin/strategy?ids=${ids}`)

//查询所有文章
export const queryAllApi = () => request.get(`/admin/strategy/all`)

export const postService = {
  /**
   * 获取内容列表
   * @param {Object} params - 查询参数
   */
  getPosts(params = {}) {
    return request.get('/posts', { params })
  },

  /**
   * 获取内容详情
   * @param {number} id - 内容ID
   */
  getPost(id) {
    return request.get(`/posts/${id}`)
  },

  /**
   * 创建内容
   * @param {Object} postData - 内容数据
   */
  createPost(postData) {
    return request.post('/posts', postData)
  },

  /**
   * 更新内容
   * @param {number} id - 内容ID
   * @param {Object} postData - 内容数据
   */
  updatePost(id, postData) {
    return request.put(`/posts/${id}`, postData)
  },

  /**
   * 删除内容
   * @param {number} id - 内容ID
   */
  deletePost(id) {
    return request.delete(`/posts/${id}`)
  },

  /**
   * 获取用户发布的内容
   * @param {number} userId - 用户ID
   * @param {Object} params - 查询参数
   */
  getUserPosts(userId, params = {}) {
    return request.get(`/users/${userId}/posts`, { params })
  },

  /**
   * 点赞内容
   * @param {number} postId - 内容ID
   */
  likePost(postId) {
    return request.post(`/posts/${postId}/like`)
  },

  /**
   * 取消点赞
   * @param {number} postId - 内容ID
   */
  unlikePost(postId) {
    return request.delete(`/posts/${postId}/like`)
  },

  /**
   * 收藏内容
   * @param {number} postId - 内容ID
   */
  favoritePost(postId) {
    return request.post(`/posts/${postId}/favorite`)
  },

  /**
   * 取消收藏
   * @param {number} postId - 内容ID
   */
  unfavoritePost(postId) {
    return request.delete(`/posts/${postId}/favorite`)
  },

  /**
   * 获取用户收藏的内容
   * @param {Object} params - 查询参数
   */
  getFavorites(params = {}) {
    return request.get('/posts/favorites', { params })
  },

  /**
   * 搜索内容
   * @param {Object} params - 搜索参数
   */
  searchPosts(params) {
    return request.get('/posts/search', { params })
  },

  /**
   * 获取热门内容
   * @param {Object} params - 查询参数
   */
  getTrendingPosts(params = {}) {
    return request.get('/posts/trending', { params })
  },

  /**
   * 获取推荐内容
   * @param {Object} params - 查询参数
   */
  getRecommendedPosts(params = {}) {
    return request.get('/posts/recommended', { params })
  }
}